﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace SportsStore.Web
{
  public static class RouteConfig
  {
    public static void RegisterRoutes(this RouteCollection routes)
    {
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

      routes.MapRoute(
        null,
        "",
        // Only matches the empty URL (i.e. /))
        new { Controller = "Product", action = "Index", category = (string)null, page = 1 });

      routes.MapRoute(
        null,
        "Page{page}",
        // Matches /Page2, /Page123, but not /PageXYZ
        new { Controller = "Product", action = "Index", category = (string)null },
        new { page = @"\d+" } // Constraints: page must be numerical
        );

      routes.MapRoute(
        null,
        "{category}",
        // Maches /Football /or /AnythingWithNoSlash)
        new { controller = "Product", action = "Index", page = 1 });

      routes.MapRoute(
        null,
        "{category}/Page{page}",
        // Matches /Football/Page567
        new { Controller = "Product", Action = "Index" },
        // Defaults
        new { page = @"\d+" } // Constraints: page must be numerical
        );

      routes.MapRoute(null, "{controller}/{action}");
    }
  }
}